package com.gosling.cloudspace.common.constants;

/**
 * @author lihonglin
 * @date 2022/4/19 15:36
 */
public enum ResultMontnetsEnum {
    /** 成功 **/
    SUCCESS(0, "成功"),
    /** 鉴权不通过,请检查账号,密码,时间戳,固定串,以及MD5算法是否按照文档要求进行设置 **/
    UNSIGN_ERROR(-100001, "鉴权不通过,请检查账号,密码,时间戳,固定串,以及MD5算法是否按照文档要求进行设置"),
    /** 用户多次鉴权不通过,请检查帐号,密码,时间戳,固定串,以及MD5算法是否按照文档要求进行设置 **/
    UNSIGN_ERRORS(-100002, "用户多次鉴权不通过,请检查帐号,密码,时间戳,固定串,以及MD5算法是否按照文档要求进行设置"),
    /** 用户欠费 **/
    USERS_OWE(-100003, "用户欠费"),
    /** custid或者exdata字段填写不合法 **/
    FIELD_INVALID(-100004, "custid或者exdata字段填写不合法"),
    /** 短信内容超长 **/
    CONTENT_MORE_LONG(-100011, "短信内容超长"),
    /** 手机号码不合法 **/
    PHONE_INVALID(-100012, "手机号码不合法"),
    /** 手机号码超过最大支持数量（1000） **/
    PHONE_MORE_LONG(-100014, "手机号码超过最大支持数量（1000）"),
    /** 端口绑定失败 **/
    PORT_BIND_ERROR(-100029, "端口绑定失败"),
    /** 用户账号登录的连接数超限 **/
    CONNECT_NUM_LIMITED_ERROR(-100056, "用户账号登录的连接数超限"),
    /** 用户账号登录的IP错误 **/
    IP_ERROR(-100057, "用户账号登录的IP错误"),
    /** 平台数据库内部错误 **/
    PLATFORM_INTERNAL_ERROR(-100999, "平台数据库内部错误"),
    /** 富信接口发非富信 **/
    SEND_THE_LETTER(-100500, "富信接口发非富信"),
    /** 富信接口内容过长 **/
    INTERFACE_CONTENT_LONG(-100501, "富信接口内容过长"),
    /** 短信模板被禁用 **/
    GUIDE_THE_WHITE(-100502, "短信模板被禁用"),
    /** 未知异常，请联系管理员！ **/
    UNKNOWN_ERROR(-99999, "未知异常，请联系管理员！");

    /** 返回校验码 */
    public final int code;
    /** 返回信息 */
    public final String msg;

    ResultMontnetsEnum(int mCode, String mMsg){
        code = mCode;
        msg = mMsg;
    }

    /**
     * 根据返回校验码 获取当前异常
     *
     * @param msgCode
     * @return
     */
    public static ResultMontnetsEnum getByCode(int msgCode){
        for(ResultMontnetsEnum montnetsEnum: ResultMontnetsEnum.values()){
            if(montnetsEnum.code == msgCode){
                return montnetsEnum;
            }
        }
        return ResultMontnetsEnum.UNKNOWN_ERROR;
    }
}
